package Entidades.EntidadesLogica;

import java.sql.Date;
import java.util. List;
import java.util.List;
import java.util.Vector;

public class Competencia {
	private String nombreCompetencia;
	private String deporteAsociado;
	Vector<Disponibilidad> disponibilidades=new  Vector<Disponibilidad>();
	Vector<Ronda> rondas=new  Vector<Ronda>();
	private Modalidad modalidad;
	Vector<Participante> participantes=new  Vector<Participante>();
	private String reglamento;
	private Date fecha_baja;
	private String estado;
	private Usuario creadaPor;
	
	public Competencia (String nombreCompetencia,String deporteAsociado,String estado,String reglamento,Usuario creadaPor){
		this.nombreCompetencia = nombreCompetencia;
		this.creadaPor = creadaPor;
		this.deporteAsociado=deporteAsociado;
		this.estado = estado;
		this.creadaPor = creadaPor;
	}
	public Competencia(String nombreCompetencia, String deporteAsociado,
			Vector<Disponibilidad> disponibilidades, Vector<Ronda> rondas,
			Modalidad modalidad, Vector<Participante> participantes,
			String reglamento, Date fecha_baja, String estado, Usuario creadaPor) {
		super();
		this.nombreCompetencia = nombreCompetencia;
		this.deporteAsociado = deporteAsociado;
		this.disponibilidades = disponibilidades;
		this.rondas = rondas;
		this.modalidad = modalidad;
		this.participantes = participantes;
		this.reglamento = reglamento;
		this.fecha_baja = fecha_baja;
		this.estado = estado;
		this.creadaPor = creadaPor;
	}

	public String getNombreCompetencia() {
		return nombreCompetencia;
	}

	public String getDeporteAsociado() {
		return deporteAsociado;
	}

	public Vector<Disponibilidad> getDisponibilidades() {
		return disponibilidades;
	}

	public Vector<Ronda> getRondas() {
		return rondas;
	}

	public Modalidad getModalidad() {
		return modalidad;
	}

	public Vector<Participante> getParticipantes() {
		return participantes;
	}

	public String getReglamento() {
		return reglamento;
	}

	public Date getFecha_baja() {
		return fecha_baja;
	}

	public String getEstado() {
		return estado;
	}

	public Usuario getCreadaPor() {
		return creadaPor;
	}

	public void setNombreCompetencia(String nombreCompetencia) {
		this.nombreCompetencia = nombreCompetencia;
	}

	public void setDeporteAsociado(String deporteAsociado) {
		this.deporteAsociado = deporteAsociado;
	}

	public void setDisponibilidades(Vector<Disponibilidad> disponibilidades) {
		this.disponibilidades = disponibilidades;
	}

	public void setRondas(Vector<Ronda> rondas) {
		this.rondas = rondas;
	}

	public void setModalidad(Modalidad modalidad) {
		this.modalidad = modalidad;
	}

	public void setParticipantes(Vector<Participante> participantes) {
		this.participantes = participantes;
	}

	public void setReglamento(String reglamento) {
		this.reglamento = reglamento;
	}

	public void setFecha_baja(Date fecha_baja) {
		this.fecha_baja = fecha_baja;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public void setCreadaPor(Usuario creadaPor) {
		this.creadaPor = creadaPor;
	}
	
	public void imprimir_datos_ronda(){
		for(int i=0; i<rondas.size();i++){
			for(int j=0; j<rondas.get(i).getPartidosRonda().size();j++){
				System.out.println(rondas.get(i).getPartidosRonda().get(j).getParticipanteLocal().getDatosActuales().getNombre()+"- "+rondas.get(i).getPartidosRonda().get(j).getResultadoPuntos().getResultadoParticipante1()+"  vs "+rondas.get(i).getPartidosRonda().get(j).getResultadoPuntos().getResultadoParticipante2()+"  -"+rondas.get(i).getPartidosRonda().get(j).getParticipanteVisitante().getDatosActuales().getNombre());
			}
		}
	}
	public void imprimir_fixture(){
		for(int i=0; i<rondas.size();i++){
			System.out.println("RONDA: "+ (i+1));
			for(int j=0; j<rondas.get(i).getPartidosRonda().size();j++){
				System.out.println(rondas.get(i).getPartidosRonda().get(j).getNum_encuentro()+"---"+rondas.get(i).getPartidosRonda().get(j).getParticipanteLocal().getDatosActuales().getNombre()+"---"+rondas.get(i).getPartidosRonda().get(j).getParticipanteVisitante().getDatosActuales().getNombre());
			}
		}
	}
	public void addParticipante(Participante part){
		this.participantes.add(part);
	}
	public void addRonda(Ronda ronda){
		if(rondas==null)
			rondas=new  Vector<Ronda>();
		rondas.add(ronda);
	}
	
	


}
